package modelo.dominio;

import java.util.Date;
import java.util.List;

public class Factura implements Solicitable {

    private static final long serialVersionUID = 1L;
    private Proveedor proveedor;
    private Solicitud solicitud;
    private List<Anexo> anexo;
    private long identificador;
    private String folio;
    private Date facturacion;
    private double monto;
    private String concepto;
    private String comentarios;

    public Factura(long identificador, String folio, Date facturacion, 
            double monto, String concepto, String comentarios) {
        this.identificador = identificador;
        this.folio = folio;
        this.facturacion = facturacion;
        this.monto = monto;
        this.concepto = concepto;
        this.comentarios = comentarios;
    }

    public Factura() {
    }

    public List<Anexo> getAnexo() {
        return anexo;
    }

    public void setAnexo(List<Anexo> anexo) {
        this.anexo = anexo;
    }

    public Solicitud getSolicitud() {
        return solicitud;
    }

    public void setSolicitud(Solicitud solicitud) {
        this.solicitud = solicitud;
    }

    public long getIdentificador() {
        return identificador;
    }

    public void setIdentificador(long identificador) {
        this.identificador = identificador;
    }

    public String getFolio() {
        return folio;
    }

    public void setFolio(String folio) {
        this.folio = folio;
    }

    public Date getFacturacion() {
        return facturacion;
    }

    public void setFacturacion(Date facturacion) {
        this.facturacion = facturacion;
    }

    public double getMonto() {
        return monto;
    }

    public void setMonto(double monto) {
        this.monto = monto;
    }

    @Override
    public String getConcepto() {
        return concepto;
    }

    public void setConcepto(String concepto) {
        this.concepto = concepto;
    }

    public String getComentarios() {
        return comentarios;
    }

    public void setComentarios(String comentarios) {
        this.comentarios = comentarios;
    }

    public Proveedor getProveedor() {
        return proveedor;
    }

    public void setProveedor(Proveedor proveedor) {
        this.proveedor = proveedor;
    }

    @Override
    public String toString() {
        return folio;
    }

    @Override
    public String getDocumento() {
        return this.folio;
    }

    @Override
    public String getPertenece() {
        return proveedor == null ? "": proveedor.getRazonSocial();
    }
}
